package com.woniu.clientServer.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 客户表
 * @TableName customer
 */
@TableName(value ="customer")
public class Customer implements Serializable {
    /**
     * 客户编号
     */
    @TableId(type = IdType.AUTO)
    private Integer customerId;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 公司名称
     */
    private String companyName;

    /**
     * 营业性质
     */
    private String businessNature;

    /**
     * 所属行业
     */
    private String industry;

    /**
     * 客户等级
     */
    private String customerLevel;

    /**
     * 客户类别
     */
    private String customerCategory;

    /**
     * 注册资本
     */
    private BigDecimal registeredCapital;

    /**
     * 人员规模
     */
    private String staffSize;

    /**
     * 所在地区
     */
    private String region;

    /**
     * 公司地址
     */
    private String companyAddress;

    /**
     * 注册地址
     */
    private String registrationAddress;

    /**
     * 统一信用代码
     */
    private String creditCode;

    /**
     * 状态
     */
    private String status;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 法人代表
     */
    private String legalRepresentative;

    /**
     * 联系人
     */
    private String contactPerson;

    /**
     * 公司电话
     */
    private String companyPhone;

    /**
     * 联系电话
     */
    private String contactPhone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 业务说明
     */
    private String businessDescription;

    /**
     * 账户名称
     */
    private String accountName;

    /**
     * 开户银行
     */
    private Integer bankId;

    /**
     * 银行账号
     */
    private String bankAccount;

    /**
     * 税率
     */
    private String taxRate;

    /**
     * 交货地址
     */
    private String deliveryAddress;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 修改时间
     */
    private Date updatedAt;

    /**
     * 修改人
     */
    private String updatedBy;

    /**
     * code码
     */
    private String code;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 客户编号
     */
    public Integer getCustomerId() {
        return customerId;
    }

    /**
     * 客户编号
     */
    public void setCustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    /**
     * 客户名称
     */
    public String getCustomerName() {
        return customerName;
    }

    /**
     * 客户名称
     */
    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    /**
     * 公司名称
     */
    public String getCompanyName() {
        return companyName;
    }

    /**
     * 公司名称
     */
    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    /**
     * 营业性质
     */
    public String getBusinessNature() {
        return businessNature;
    }

    /**
     * 营业性质
     */
    public void setBusinessNature(String businessNature) {
        this.businessNature = businessNature;
    }

    /**
     * 所属行业
     */
    public String getIndustry() {
        return industry;
    }

    /**
     * 所属行业
     */
    public void setIndustry(String industry) {
        this.industry = industry;
    }

    /**
     * 客户等级
     */
    public String getCustomerLevel() {
        return customerLevel;
    }

    /**
     * 客户等级
     */
    public void setCustomerLevel(String customerLevel) {
        this.customerLevel = customerLevel;
    }

    /**
     * 客户类别
     */
    public String getCustomerCategory() {
        return customerCategory;
    }

    /**
     * 客户类别
     */
    public void setCustomerCategory(String customerCategory) {
        this.customerCategory = customerCategory;
    }

    /**
     * 注册资本
     */
    public BigDecimal getRegisteredCapital() {
        return registeredCapital;
    }

    /**
     * 注册资本
     */
    public void setRegisteredCapital(BigDecimal registeredCapital) {
        this.registeredCapital = registeredCapital;
    }

    /**
     * 人员规模
     */
    public String getStaffSize() {
        return staffSize;
    }

    /**
     * 人员规模
     */
    public void setStaffSize(String staffSize) {
        this.staffSize = staffSize;
    }

    /**
     * 所在地区
     */
    public String getRegion() {
        return region;
    }

    /**
     * 所在地区
     */
    public void setRegion(String region) {
        this.region = region;
    }

    /**
     * 公司地址
     */
    public String getCompanyAddress() {
        return companyAddress;
    }

    /**
     * 公司地址
     */
    public void setCompanyAddress(String companyAddress) {
        this.companyAddress = companyAddress;
    }

    /**
     * 注册地址
     */
    public String getRegistrationAddress() {
        return registrationAddress;
    }

    /**
     * 注册地址
     */
    public void setRegistrationAddress(String registrationAddress) {
        this.registrationAddress = registrationAddress;
    }

    /**
     * 统一信用代码
     */
    public String getCreditCode() {
        return creditCode;
    }

    /**
     * 统一信用代码
     */
    public void setCreditCode(String creditCode) {
        this.creditCode = creditCode;
    }

    /**
     * 状态
     */
    public String getStatus() {
        return status;
    }

    /**
     * 状态
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * 备注
     */
    public String getRemarks() {
        return remarks;
    }

    /**
     * 备注
     */
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    /**
     * 法人代表
     */
    public String getLegalRepresentative() {
        return legalRepresentative;
    }

    /**
     * 法人代表
     */
    public void setLegalRepresentative(String legalRepresentative) {
        this.legalRepresentative = legalRepresentative;
    }

    /**
     * 联系人
     */
    public String getContactPerson() {
        return contactPerson;
    }

    /**
     * 联系人
     */
    public void setContactPerson(String contactPerson) {
        this.contactPerson = contactPerson;
    }

    /**
     * 公司电话
     */
    public String getCompanyPhone() {
        return companyPhone;
    }

    /**
     * 公司电话
     */
    public void setCompanyPhone(String companyPhone) {
        this.companyPhone = companyPhone;
    }

    /**
     * 联系电话
     */
    public String getContactPhone() {
        return contactPhone;
    }

    /**
     * 联系电话
     */
    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    /**
     * 邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 邮箱
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * 业务说明
     */
    public String getBusinessDescription() {
        return businessDescription;
    }

    /**
     * 业务说明
     */
    public void setBusinessDescription(String businessDescription) {
        this.businessDescription = businessDescription;
    }

    /**
     * 账户名称
     */
    public String getAccountName() {
        return accountName;
    }

    /**
     * 账户名称
     */
    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    /**
     * 开户银行
     */
    public Integer getBankId() {
        return bankId;
    }

    /**
     * 开户银行
     */
    public void setBankId(Integer bankId) {
        this.bankId = bankId;
    }

    /**
     * 银行账号
     */
    public String getBankAccount() {
        return bankAccount;
    }

    /**
     * 银行账号
     */
    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    /**
     * 税率
     */
    public String getTaxRate() {
        return taxRate;
    }

    /**
     * 税率
     */
    public void setTaxRate(String taxRate) {
        this.taxRate = taxRate;
    }

    /**
     * 交货地址
     */
    public String getDeliveryAddress() {
        return deliveryAddress;
    }

    /**
     * 交货地址
     */
    public void setDeliveryAddress(String deliveryAddress) {
        this.deliveryAddress = deliveryAddress;
    }

    /**
     * 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 创建人
     */
    public String getCreatedBy() {
        return createdBy;
    }

    /**
     * 创建人
     */
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * 修改时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 修改时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 修改人
     */
    public String getUpdatedBy() {
        return updatedBy;
    }

    /**
     * 修改人
     */
    public void setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
    }

    /**
     * code码
     */
    public String getCode() {
        return code;
    }

    /**
     * code码
     */
    public void setCode(String code) {
        this.code = code;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Customer other = (Customer) that;
        return (this.getCustomerId() == null ? other.getCustomerId() == null : this.getCustomerId().equals(other.getCustomerId()))
            && (this.getCustomerName() == null ? other.getCustomerName() == null : this.getCustomerName().equals(other.getCustomerName()))
            && (this.getCompanyName() == null ? other.getCompanyName() == null : this.getCompanyName().equals(other.getCompanyName()))
            && (this.getBusinessNature() == null ? other.getBusinessNature() == null : this.getBusinessNature().equals(other.getBusinessNature()))
            && (this.getIndustry() == null ? other.getIndustry() == null : this.getIndustry().equals(other.getIndustry()))
            && (this.getCustomerLevel() == null ? other.getCustomerLevel() == null : this.getCustomerLevel().equals(other.getCustomerLevel()))
            && (this.getCustomerCategory() == null ? other.getCustomerCategory() == null : this.getCustomerCategory().equals(other.getCustomerCategory()))
            && (this.getRegisteredCapital() == null ? other.getRegisteredCapital() == null : this.getRegisteredCapital().equals(other.getRegisteredCapital()))
            && (this.getStaffSize() == null ? other.getStaffSize() == null : this.getStaffSize().equals(other.getStaffSize()))
            && (this.getRegion() == null ? other.getRegion() == null : this.getRegion().equals(other.getRegion()))
            && (this.getCompanyAddress() == null ? other.getCompanyAddress() == null : this.getCompanyAddress().equals(other.getCompanyAddress()))
            && (this.getRegistrationAddress() == null ? other.getRegistrationAddress() == null : this.getRegistrationAddress().equals(other.getRegistrationAddress()))
            && (this.getCreditCode() == null ? other.getCreditCode() == null : this.getCreditCode().equals(other.getCreditCode()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getRemarks() == null ? other.getRemarks() == null : this.getRemarks().equals(other.getRemarks()))
            && (this.getLegalRepresentative() == null ? other.getLegalRepresentative() == null : this.getLegalRepresentative().equals(other.getLegalRepresentative()))
            && (this.getContactPerson() == null ? other.getContactPerson() == null : this.getContactPerson().equals(other.getContactPerson()))
            && (this.getCompanyPhone() == null ? other.getCompanyPhone() == null : this.getCompanyPhone().equals(other.getCompanyPhone()))
            && (this.getContactPhone() == null ? other.getContactPhone() == null : this.getContactPhone().equals(other.getContactPhone()))
            && (this.getEmail() == null ? other.getEmail() == null : this.getEmail().equals(other.getEmail()))
            && (this.getBusinessDescription() == null ? other.getBusinessDescription() == null : this.getBusinessDescription().equals(other.getBusinessDescription()))
            && (this.getAccountName() == null ? other.getAccountName() == null : this.getAccountName().equals(other.getAccountName()))
            && (this.getBankId() == null ? other.getBankId() == null : this.getBankId().equals(other.getBankId()))
            && (this.getBankAccount() == null ? other.getBankAccount() == null : this.getBankAccount().equals(other.getBankAccount()))
            && (this.getTaxRate() == null ? other.getTaxRate() == null : this.getTaxRate().equals(other.getTaxRate()))
            && (this.getDeliveryAddress() == null ? other.getDeliveryAddress() == null : this.getDeliveryAddress().equals(other.getDeliveryAddress()))
            && (this.getCreatedAt() == null ? other.getCreatedAt() == null : this.getCreatedAt().equals(other.getCreatedAt()))
            && (this.getCreatedBy() == null ? other.getCreatedBy() == null : this.getCreatedBy().equals(other.getCreatedBy()))
            && (this.getUpdatedAt() == null ? other.getUpdatedAt() == null : this.getUpdatedAt().equals(other.getUpdatedAt()))
            && (this.getUpdatedBy() == null ? other.getUpdatedBy() == null : this.getUpdatedBy().equals(other.getUpdatedBy()))
            && (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getCustomerId() == null) ? 0 : getCustomerId().hashCode());
        result = prime * result + ((getCustomerName() == null) ? 0 : getCustomerName().hashCode());
        result = prime * result + ((getCompanyName() == null) ? 0 : getCompanyName().hashCode());
        result = prime * result + ((getBusinessNature() == null) ? 0 : getBusinessNature().hashCode());
        result = prime * result + ((getIndustry() == null) ? 0 : getIndustry().hashCode());
        result = prime * result + ((getCustomerLevel() == null) ? 0 : getCustomerLevel().hashCode());
        result = prime * result + ((getCustomerCategory() == null) ? 0 : getCustomerCategory().hashCode());
        result = prime * result + ((getRegisteredCapital() == null) ? 0 : getRegisteredCapital().hashCode());
        result = prime * result + ((getStaffSize() == null) ? 0 : getStaffSize().hashCode());
        result = prime * result + ((getRegion() == null) ? 0 : getRegion().hashCode());
        result = prime * result + ((getCompanyAddress() == null) ? 0 : getCompanyAddress().hashCode());
        result = prime * result + ((getRegistrationAddress() == null) ? 0 : getRegistrationAddress().hashCode());
        result = prime * result + ((getCreditCode() == null) ? 0 : getCreditCode().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getRemarks() == null) ? 0 : getRemarks().hashCode());
        result = prime * result + ((getLegalRepresentative() == null) ? 0 : getLegalRepresentative().hashCode());
        result = prime * result + ((getContactPerson() == null) ? 0 : getContactPerson().hashCode());
        result = prime * result + ((getCompanyPhone() == null) ? 0 : getCompanyPhone().hashCode());
        result = prime * result + ((getContactPhone() == null) ? 0 : getContactPhone().hashCode());
        result = prime * result + ((getEmail() == null) ? 0 : getEmail().hashCode());
        result = prime * result + ((getBusinessDescription() == null) ? 0 : getBusinessDescription().hashCode());
        result = prime * result + ((getAccountName() == null) ? 0 : getAccountName().hashCode());
        result = prime * result + ((getBankId() == null) ? 0 : getBankId().hashCode());
        result = prime * result + ((getBankAccount() == null) ? 0 : getBankAccount().hashCode());
        result = prime * result + ((getTaxRate() == null) ? 0 : getTaxRate().hashCode());
        result = prime * result + ((getDeliveryAddress() == null) ? 0 : getDeliveryAddress().hashCode());
        result = prime * result + ((getCreatedAt() == null) ? 0 : getCreatedAt().hashCode());
        result = prime * result + ((getCreatedBy() == null) ? 0 : getCreatedBy().hashCode());
        result = prime * result + ((getUpdatedAt() == null) ? 0 : getUpdatedAt().hashCode());
        result = prime * result + ((getUpdatedBy() == null) ? 0 : getUpdatedBy().hashCode());
        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", customerId=").append(customerId);
        sb.append(", customerName=").append(customerName);
        sb.append(", companyName=").append(companyName);
        sb.append(", businessNature=").append(businessNature);
        sb.append(", industry=").append(industry);
        sb.append(", customerLevel=").append(customerLevel);
        sb.append(", customerCategory=").append(customerCategory);
        sb.append(", registeredCapital=").append(registeredCapital);
        sb.append(", staffSize=").append(staffSize);
        sb.append(", region=").append(region);
        sb.append(", companyAddress=").append(companyAddress);
        sb.append(", registrationAddress=").append(registrationAddress);
        sb.append(", creditCode=").append(creditCode);
        sb.append(", status=").append(status);
        sb.append(", remarks=").append(remarks);
        sb.append(", legalRepresentative=").append(legalRepresentative);
        sb.append(", contactPerson=").append(contactPerson);
        sb.append(", companyPhone=").append(companyPhone);
        sb.append(", contactPhone=").append(contactPhone);
        sb.append(", email=").append(email);
        sb.append(", businessDescription=").append(businessDescription);
        sb.append(", accountName=").append(accountName);
        sb.append(", bankId=").append(bankId);
        sb.append(", bankAccount=").append(bankAccount);
        sb.append(", taxRate=").append(taxRate);
        sb.append(", deliveryAddress=").append(deliveryAddress);
        sb.append(", createdAt=").append(createdAt);
        sb.append(", createdBy=").append(createdBy);
        sb.append(", updatedAt=").append(updatedAt);
        sb.append(", updatedBy=").append(updatedBy);
        sb.append(", code=").append(code);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}